#ifndef _IMAGE_MERGER_HXX_
#define _IMAGE_MERGER_HXX_

#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <opencv2/opencv.hpp>
#include <string.h>

#include "FileUtils.hxx"

class ImageMerger
{
public:
    ImageMerger();

    inline void setSourceDirectory(const char* srcDir) { strcpy(_sourceDir, srcDir); }
	inline void setDestFileName(const char* dstName) { strcpy(_destFileName, dstName); }
    inline void setTileFileSuffix(const char* suffix) { strcpy(_fileSuffix, suffix); }

    virtual bool mergeTileFiles()=0;

protected:
    bool createTargetImage(bool colorTargetImage=true);

protected:
    char _sourceDir[256];
    char _destFileName[256];
    char _fileSuffix[64];

    cv::Mat _targetImage;
};

#endif